﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Praxis.Entities;
using Praxis.BusinessLogic;
using Microsoft.Practices.Unity;

namespace Praxis.UI
{
    public partial class FrmNumCom : Form
    {
        [Dependency]
        public IComprobanteBL comprobanteBL { get; set; }

        public FrmNumCom()
        {
            InitializeComponent();
            this.BuildUp();
        }

        public ALQUILER currentAlquiler { get; set; }

        public void Nuevo()
        {
            cOMPROBANTEBindingSource.AddNew();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var currentComprobante = cOMPROBANTEBindingSource.Current as COMPROBANTE;
            if (numComprobanteTextBox.Text != string.Empty)
            {
                
                currentComprobante.TipoComprobante = currentAlquiler.TipoComprobante;
                currentComprobante.FechaEmision = currentAlquiler.FechaEntrega;
                currentComprobante.TipoPago = currentAlquiler.TipoPago;
                currentComprobante.Cliente = currentAlquiler.CLIENTE.NombreRazonSocial;
                currentComprobante.FechaVencimiento = currentAlquiler.FechaDevolucion;
                currentComprobante.Total = currentAlquiler.Monto;
                currentComprobante.NumComprobante = numComprobanteTextBox.Text;
                currentComprobante.CodigoAlquiler = currentAlquiler.Codigo;

                foreach (var item in currentAlquiler.DETALLE_ALQUILER)
                {
                    var detallecomprobante = new DETALLE_COMPROBANTE()
                    {
                        CodigoEquipo = item.CodigoEquipo,
                        NumHoras = item.NumHoras,
                        Monto = item.Monto
                    };

                    currentComprobante.DETALLE_COMPROBANTE.Add(detallecomprobante);
                                        
                }

                comprobanteBL.AddComprobante(currentComprobante);

                MessageBox.Show("COMPROBANTE GUARDADO CON EXITO");
            }
                
            else
            {
                MessageBox.Show("Necesita Ingresar un Nro. de Comprobante");
            }

            
        }

        private void FrmNumCom_Load(object sender, EventArgs e)
        {

        }
    }
}
